﻿using MediatR;
using SmartMedicalCare.ErronCode;
using System.ComponentModel.DataAnnotations.Schema;
using System.ComponentModel.DataAnnotations;

namespace SmartMedicalCare.API.Write.Applications.Commands.二级科室
{
    public class UpdateDeptSubCategoryCommand:IRequest<APIResult<int>>
    {
        /// <summary>
        /// 【主键·自增】唯一标识每个二级分类
        /// 业务：数据库中每个二级分类有唯一ID，方便后续关联医生、预约等信息时精准定位。
        /// </summary>
        [Key]
        [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
        public int DeptSubCategoryId { get; set; }

        /// <summary>
        /// 【外键】关联所属一级科室的ID
        /// 业务：标记该二级分类属于哪一个科室（如“内科”的ID为2，则二级分类的DepartmentId=2）。
        /// </summary>
        [Required]
        public int DepartmentId { get; set; }
        

        /// <summary>
        /// 【必填】二级分类名称
        /// 业务：二级分类的具体名称（如“心血管内科”“消化内科”“骨科创伤中心”），是用户识别细分专科的核心标识。
        /// </summary>
        [Required]
        [MaxLength(50)]
        public string Name { get; set; } = string.Empty;

        /// <summary>
        /// 【可选】二级分类简介
        /// 业务：二级分类的特色、擅长领域等介绍（如“心血管内科专注冠心病、心律失常等疾病的诊疗与研究”）。
        /// </summary>
        [MaxLength(500)]
        public string Intro { get; set; } = string.Empty;

        /// <summary>
        /// 状态（1=启用，0=禁用）
        /// 业务：手动控制二级分类信息的“开关”（如某细分专科医生全部外出进修时，临时下线其信息）。
        /// </summary>
        public int Status { get; set; } = 1;

     

       
    }
}
